﻿// 7.算数运算，自增自减.cpp : 

/*
运算符描述：
  +  两个数相加。
  -  一个数减另一个数。
  *  两个数相乘。
  /  分子除以分母。
  %  取模运算，整除后的余数。
*/

/*
注意：
 整数进行除法运算时，如果分母为 0，程序将异常退出；
 浮点数进行除法运算时，如果分母为 0.0，将得到 inf（infinite，无穷大）；
 两个整数进行除法运算时，将舍去小数部分，得到一个整数；
 整数与浮点数进行除法运算时，得到的结果是浮点数；
 进行除法运算时，在整数前面加(float)或(double)可以将整数转换为 float 或 double 类型；
 取模运算只能用于整数（分母也不能为 0）。如果分母为 0，程序将异常退出；
*/

//整数进行除法运算时，如果分母为 0，程序将异常退出；
/*
#include <iostream>
using namespace std;                
int main()
{
    cout << "请输入要计算的内容" << endl;
    int a, b, c= 0;
    a = 5;
    b = 0;
    c = a / b;
    cout << c << endl;      
}
*/

//浮点数进行除法运算时，如果分母为 0.0，将得到 inf（infinite，无穷大）；
/*
#include<iostream>
using namespace std;
int main()
{
    double a, b, c = 0;
    a = 5;
    b = 0.0;
    c = a / b;
    cout << "c = " << c << endl; //将得到 c = inf（infinite，无穷大）
}
*/

//两个整数进行除法运算时，将舍去小数部分，得到一个整数；
/*
#include<iostream>
using namespace std;
int main()
{
    int a, b,c;
    a = 8;
    b = 3;
    c = a / b;
    cout << "c = " << c << endl;       //c=2
}
*/

//整数与浮点数进行除法运算时，得到的结果是浮点数；
/*
#include<iostream>
using namespace std;
int main()
{
    int a = 8;
    double b = 3.2;
    double c;
    c = a / b;
    cout << "c=" << c << endl;         //c=2.5
}
*/

//进行除法运算时，在整数前面加(float)或(double)可以将整数转换为 float 或 double 类型；
/*
#include<iostream>
using namespace std;
int main()
{
    int a, b, c;
    a = 10;
    b = 3;
    c = a / (double)b;
    cout << "c = " << c << endl;       //c=3,c为整型
}
*/

//取模运算只能用于整数（分母也不能为 0）。如果分母为 0，程序将异常退出；
/*
#include<iostream>
using namespace std;
int main()
{
    int a = 5;
    int b = 0;
    int c;
    c = a % b;
    cout << "c = " << c << endl;        //如果分母为 0，程序将异常退出；
}
*/


//自增和自减
/*
++变量名    先把变量的值加 1，然后再执行表达式。
变量名++    先执行表达式，再把变量的值加 1。
--变量名    先把变量的值减 1，然后再执行表达式。
变量名--    先执行表达式，再把变量的减 1。
*/

/*
#include<iostream>
using namespace std;
int main()
{
    int a =1;  
    int b = a++;                 //变量名++     先执行表达式，再把变量的值加 1。           a=2    b=1
    cout << "a = " << a << "; b = " << b << endl;
    int c = ++b;                 //++变量名     先把变量的值加 1，然后再执行表达式。       c=2    b=2   
    cout << "c = " << c << "; b = " << b <<endl;

    int vx = 1;
    int vy = vx--;               //变量名--     先执行表达式，再把变量的减 1。             vx=0   vy=1
    cout << "vx = " << vx <<"; vy= "<< vy << endl;
    int vz = --vx;               // --变量名    先把变量的值减 1，然后再执行表达式。       vx=-1  vz=-1
    cout << "vx = " << vx << "; vz= " << vz << endl;
}
*/


/*
1）赋值运算
运算符 示例 描述
=    c = a + b;                     将把 a + b 的值赋给 c。 把右边操作数的值赋给左边操作数。
+=   c += a; 相当于 c = c + a;      加且赋值运算符，把右边操作数加上左边操作数的
结果赋值给左边操作数。
-=   c -= a; 相当于 c = c - a;      减且赋值运算符，把左边操作数减去右边操作数的
结果赋值给左边操作数。
*=   c *= a; 相当于 c = c * a;      乘且赋值运算符，把右边操作数乘以左边操作数的
结果赋值给左边操作数。
/=   c /= a; 相当于 c = c / a;      除且赋值运算符，把左边操作数除以右边操作数的
结果赋值给左边操作数。
%=   c %= a; 相当于 c = c % a;      求余数且赋值运算符，求两个操作数的模赋值给左
边操作数，浮点数不适用取余数。

*/

/*
#include<iostream>
using namespace std;
int main()
{
    int a = 5;
    int c = 10;
    c += a;           
    //+=     c += a; 相当于 c = c + a;     加且赋值运算符，把右边操作数加上左边操作数的,   c = 15
    cout << " c = " << c << endl;

    int d = 5;
    d -= c; 
    //-=     c -= a; 相当于 c = c - a;      减且赋值运算符，把左边操作数减去右边操作数的, d = -10
    cout << " d = " << d << endl;      

    int f = 5;
    f *= d;
    //*=     c *= a; 相当于 c = c * a;      乘且赋值运算符，把右边操作数乘以左边操作数的,  f = -50
    cout << " f = " << f << endl;

    int g = 50;
    g  /= f;
    // /=    c /= a; 相当于 c = c / a;      除且赋值运算符，把左边操作数除以右边操作数的,  g = -1
    cout << " g = " << g << endl;

    int h = 9;
    g = 2;
    h %= g;
    //%=      c %= a; 相当于 c = c % a;      求余数且赋值运算符，求两个操作数的模赋值给左, h = 1
    cout << " h = " << h << endl;
}
*/


//C++和 C++11 初始化赋值

/*
#include<iostream>
using namespace std;                                 // 指定缺省的命名空间。
int main()
{
    //把值写在小括号中，等于号可以省略（C++标准）
    int a = (15);                                    // 声明变量 a，初始化值为 15。
    int b(20);                                       // 声明变量 b，初始化值为 20。


    //把值写在花括号中，等于号也可以省略（C++11 标准），统一初始化列表。
    int c = { 15 };                                  // 声明变量 c，初始化值为 15。
    int d{ 20 };                                     // 声明变量 d，初始化值为 20。
    // 注意：在 Linux 平台下，编译需要加 - std = c++11 参数。
    cout << "a=" << a << endl;
    cout << "b=" << b << endl;
    cout << "c=" << c << endl;
    cout << "e=" << d << endl;
}
*/

